// ES5的严格模式规定，函数只能在顶层作用域和函数内声明，其他情况（比如 if 代码块、循环代码块）的声明都会报错。
// ES5
// 这样声明的函数，在区块外是不可用的
'use strict';
if (true) {
  function f () { } // 报错
}
f();
// ES6由于引入了块级作用域，这种情况可以理解成函数在块级作用域内声明，因此不报错，但是构成区块的大括号不能少，否
// 则还是会报错

// 报错
// 'use strict';
// if (true) function f () { }